<?php
/**

 //  The DoYouHaoBaby PHP FrameWork - curd
 //  +---------------------------------------------------------------------
 //
 //  “Copyright”
 //  +---------------------------------------------------------------------
 //	 | (C) 2010 - 2011 http://doyouhaobaby.net All rights reserved.
 //	 | This is not a free software, use is subject to license terms
 //  +---------------------------------------------------------------------
 //
 //  “About This File”
 //  +---------------------------------------------------------------------
 //	 | curd Index控制器
 //  +---------------------------------------------------------------------

*/

!defined('DYHB_PATH') && exit;

class IndexController extends Controller{


	/**
	 * 首页 < 默认访问 >
	 *
	 * @access public
	 * @return void
	 */
    public function index(){
       
	   // 对象
        $arrObjectList = FormModel::F()
			     ->top( 20 )
			     ->order( 'form_id DESC' )
			     ->query();
		$this->assign( 'arrObjectList',$arrObjectList );

		$this->display( );

    }


	/**
	 * 插入数据
	 */
	public function insert(){
	
	    // 创建模型
       $oModel = new FormModel();;

       // 保存数据
       $oModel->save( );

       // 开始查找错误
       if(  !$oModel->isError( ) ) {

            $this->S( '数据保存成功！' );
        }

        else{

        	$this->E(  $oModel->getErrorMessage( ) );
        }
	}

    /**
	 * 编辑数据
	 */
	public function edit(){

	  $nId = Safe::getGpc( 'id','G' );

      // 判断是否存在编辑项
      if( !empty( $nId ) ) {

          $oModel = FormModel::F( 'form_id=?',$nId )
			        ->query();

          if( $oModel ) {

              $this->assign( 'arrValue',$oModel->toArray() );
              $this->assign( 'nId',$nId );
              $this->display( );
          }

          else{

              $this->E( '数据库中并不存在该项，或许它已经被删除了！' );
          }

       }

       else{

           $this->E( '编辑项不存在！' );
       }

   }


   /**
    * 更新数据记录
    */
   public function update( ){

       $nId = Safe::getGpc( 'id' );

       $oModel = FormModel::F( 'form_id=?',$nId )
		         ->query( );

       $oModel->save( 'update' );

       if( $oModel->getErrorMessage( )=='zero-effect' ){

       	   $this->E( '你没有修改数据！' );
       }

       // 开始捕获模型中的错误
       if( !$oModel->isError( )  ) {

            $this->S( '数据更新成功！' );
        }

        else{

        	$this->E( $oModel->getErrorMessage( ) );
        }

   }


  /**
   * 删除数据库记录
   */
   public function del( ){

	   $nId = Safe::getGpc( 'id' ,'G' );

       if(  !empty( $nId )  ) {

           $oModelMeta = FormModel::M();

           $sPk = reset( $oModelMeta->_arrIdName );

           // 执行删除
           $oModelMeta->deleteWhere(  array( $sPk=> $nId ) );

           // 开始模型Meta中的错误，如果没有那么路过
		   if( $oModelMeta->isError( ) ){

		       $this->E( $oModelMeta->getErrorMessage() );
		   }

		   else{

		   	   $this->A( array( 'form_id'=>$nId ),'删除记录成功！',1 );
		   }

        }

        else{

            $this->E( '删除项不存在！'  );
        }

   }

}
